3aeaec693a8ab708d56540a0a53d5a018320248e,drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java,PackageBuilderTest,testCompilerConfiguration,#,938

Before Change



        EclipseJavaCompiler eclipseCompiler = (EclipseJavaCompiler) compiler;
        final Field settingsField = eclipseCompiler.getClass().getDeclaredField( "settings" );
        settingsField.setAccessible( true );
        Map map = (Map) settingsField.get( eclipseCompiler );
        assertEquals( "1.4",
                      map.get( "org.eclipse.jdt.core.compiler.codegen.targetPlatform" ) );
        assertEquals( "1.5",
                      map.get( "org.eclipse.jdt.core.compiler.source" ) );

        // test eclipse jdt core with property settings and jdk1.5 source level
        conf = new PackageBuilderConfiguration();
        conf.setCompiler( PackageBuilderConfiguration.ECLIPSE );
        conf.setJavaLanguageLevel( "1.4" );
        builder = new PackageBuilder( conf );;
        compiler = (JavaCompiler) compilerField.get( builder );
        assertSame( EclipseJavaCompiler.class,
                    compiler.getClass() );

        eclipseCompiler = (EclipseJavaCompiler) compiler;
        map = (Map) settingsField.get( eclipseCompiler );
        assertEquals( "1.5",
                      map.get( "org.eclipse.jdt.core.compiler.codegen.targetPlatform" ) );
        // it cannot be set below 1.5, so if they add 1.4, it still ends up at 1.5.        

After Change


        // test default is eclipse jdt core
        PackageBuilder builder = new PackageBuilder();
        final Field dialectField = builder.getClass().getDeclaredField( "dialect" );
        dialectField.setAccessible( true );
        JavaDialect dialect = ( JavaDialect ) dialectField.get( builder );
        
        final Field compilerField = dialect.getClass().getDeclaredField( "compiler" );